package com.shop.service;

import com.shop.common.SetMeta;
import com.shop.entity.Role;
import com.shop.exception.RoleException;

public interface RoleService {

    /**
     * 角色列表
     * @return
     */
    SetMeta selectRoles();

    /**
     * 添加角色
     * @param role
     * @return
     */
    SetMeta insertRole(Role role) throws RoleException;

    /**
     * 根据id查询角色
     * @param id
     * @return
     */
    SetMeta selectRole(Integer id);

    /**
     * 编辑提交角色
     * @param role
     * @return
     */
    SetMeta updateRole(Role role) throws RoleException;

    /**
     * 删除角色
     * @param id
     * @return
     */
    SetMeta deleteRole(Integer id) throws RoleException;

    /**
     * 删除角色指定权限
     * @param roleId
     * @param rightId
     * @return
     */
    SetMeta deleteRoleRights(Integer roleId, Integer rightId) throws RoleException;

    /**
     * 角色授权
     * @param roleId
     * @param role
     * @return
     */
    SetMeta rightsToRole(Integer roleId, Role role);
}
